<?php
/**
 * Проверка ключа
 * @author nrnwest@gmail.com
 *
 */
class User_Validate_Key extends Zend_Validate_Abstract
{
    const KEY_BAG = 'keyBag';
    const KEY_IS_USER = 'keyIsUser';
    const KEY_NO_IN_TABLE = 'keyNoInTable';
    /**
     * @var array
     */
    protected $_messageTemplates = array(
    self::KEY_BAG => "Вы ошиблись, при копировании ссылки подтверждения", 
    self::KEY_IS_USER => "Ваша запись ужа зарегистрированна", 
    self::KEY_NO_IN_TABLE => "Время регистрации закончено, пожалуйста пройдите регистрацию еще раз");
    public function isValid ($value)
    {
        $value = (string) $value;
        // проверка соответсвия формата
        $strLen = new Zend_Validate_StringLength(
        32, 32);
        if ($strLen->isValid($value) === false) {
                $this->_error(self::KEY_BAG);
                return false;
        }
        $model = new User_Model_User();
        // проверяем может уже была регистрация
        if($model->isKeyUser($value) === true) {
        	$this->_error(self::KEY_IS_USER);
        	return false;
        }
        // проверяем может регистрация уже была удаленна с временой таблицы
    	if($model->isKeyTempTable($value) === false) {
        	$this->_error(self::KEY_NO_IN_TABLE);
        	return false;
        }
        return true;
    }
}